package com.demo8.basic.utils;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

public final class PwdUtil {

    /** 单例，线程安全 */
    private static final BCryptPasswordEncoder ENCODER = new BCryptPasswordEncoder();

    /**
     * 加密（注册/改密码时调用）
     */
    public static String encode(String rawPassword) {
        return ENCODER.encode(rawPassword);
    }

    /**
     * 验证（登录时调用）
     * @param rawPassword  用户输入的明文
     * @param encodedPassword  数据库存储的密文
     */
    public static boolean matches(String rawPassword, String encodedPassword) {
        return ENCODER.matches(rawPassword, encodedPassword);
    }

    private PwdUtil() {}
}
